from django.shortcuts import render, redirect
from django.http import JsonResponse


def chart_list(request):
    """数据统计页面"""
    return render(request, 'chart_list.html')


def chart_bar(request):
    """构造柱状图数据"""
    # 模拟获取数据库数据
    legend = ['Aisa', 'John']

    series_list = [
        {
            'name': 'Aisa',
            'type': 'bar',
            'data': [5, 20, 36, 10, 10, 100]
        },
        {
            'name': 'John',
            'type': 'bar',
            'data': [15, 20, 30, 20, 40, 10]
        }
    ]

    x_axis = ['1月', '2月', '3月', '4月', '5月', '6月']

    result = {
        'status': True,
        'data': {
            'legend': legend,
            'series_list': series_list,
            'x_axis': x_axis
        }
    }

    return JsonResponse(result)


def chart_pie(request):
    """饼状图"""

    # 模拟数据库获取数据
    db_data_list = [
        {'value': 2048, 'name': '广告'},
        {'value': 735, 'name': '策划'},
        {'value': 1080, 'name': '数值'},
        {'value': 484, 'name': '媒体'},
    ]
    result = {
        'status': True,
        'data': db_data_list
    }

    return JsonResponse(result)


def chart_line(request):
    legend = ['上海', '广西', '河北']

    series_list = [
        {
            'name': '上海',
            'type': 'line',
            'stack': 'Total',
            'data': [120, 132, 101, 134, 90, 230, 210]
        },
        {
            'name': '广西',
            'type': 'line',
            'stack': 'Total',
            'data': [220, 182, 191, 234, 290, 330, 310]
        },
        {
            'name': '河北',
            'type': 'line',
            'stack': 'Total',
            'data': [150, 232, 201, 154, 190, 330, 410]
        }
    ]

    x_axis = ['1月', '2月', '3月', '4月', '5月', '6月', '7月']

    result = {
        'status': True,
        'data': {
            'legend': legend,
            'series_list': series_list,
            'x_axis': x_axis
        }
    }

    return JsonResponse(result)


def highcharts(request):
    """highcharts示例"""

    return render(request, 'highcharts.html')
